// 表格列类型
export interface RowType {
  address: string;
  age: number;
  id: number;
  name: string;
  nickname: string;
  role: string;
  parentId?: null | number;
}
export interface RoleType {
  /**
   * 角色ID
   */
  id: number;

  /**
   * 创建时间（时间戳）
   */
  createdAt: number;

  /**
   * 更新时间（时间戳）
   */
  updatedAt: number;

  /**
   * 翻译字段（可能用于国际化）
   */
  trans: string;

  /**
   * 状态：1-启用，0-禁用
   */
  status: 0 | 1;

  /**
   * 角色名称（可能对应国际化key）
   */
  name: string;

  /**
   * 角色编码
   */
  code: string;

  /**
   * 默认路由路径
   */
  defaultRouter: string;

  /**
   * 角色备注
   */
  remark: string;

  /**
   * 排序字段
   */
  sort: number;
}

// API item interface
// types.ts
export interface ApiItem {
  id?: number;
  createdAt?: number;
  updatedAt?: number;
  path?: string;
  description?: string;
  group?: string;
  method?: string;
  isRequired?: boolean;
  serviceName?: string;
  trans?: string;
  pm?: string;
  [key: string]: any;
}

export interface ApiGroup {
  description?: string;
  trans?: string;
  children?: ApiItem[] | undefined;
}

export interface ApiService {
  trans: string;
  children: ApiGroup[];
}

export interface MenuTreeType {
  id?: number; // 明确 id 为 number 类型
  name?: string;
  path?: string;
  [key: string]: any;
  children?: MenuTreeType[];
}
